<!DOCTYPE html>
<!-- saved from url=(0014)about:internet -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=9" >

<title>chapter8: Axes</title>

<style type="text/css">
body, td {
   font-family: sans-serif;
   background-color: white;
   font-size: 12px;
   margin: 8px;
}

tt, code, pre {
   font-family: 'DejaVu Sans Mono', 'Droid Sans Mono', 'Lucida Console', Consolas, Monaco, monospace;
}

h1 { 
   font-size:2.2em; 
}

h2 { 
   font-size:1.8em; 
}

h3 { 
   font-size:1.4em; 
}

h4 { 
   font-size:1.0em; 
}

h5 { 
   font-size:0.9em; 
}

h6 { 
   font-size:0.8em; 
}

a:visited {
   color: rgb(50%, 0%, 50%);
}

pre {	
   margin-top: 0;
   max-width: 95%;
   border: 1px solid #ccc;
   white-space: pre-wrap;
}

pre code {
   display: block; padding: 0.5em;
}

code.r, code.cpp {
   background-color: #F8F8F8;
}

table, td, th {
  border: none;
}

blockquote {
   color:#666666;
   margin:0;
   padding-left: 1em;
   border-left: 0.5em #EEE solid;
}

hr {
   height: 0px;
   border-bottom: none;
   border-top-width: thin;
   border-top-style: dotted;
   border-top-color: #999999;
}

@media print {
   * { 
      background: transparent !important; 
      color: black !important; 
      filter:none !important; 
      -ms-filter: none !important; 
   }

   body { 
      font-size:12pt; 
      max-width:100%; 
   }
       
   a, a:visited { 
      text-decoration: underline; 
   }

   hr { 
      visibility: hidden;
      page-break-before: always;
   }

   pre, blockquote { 
      padding-right: 1em; 
      page-break-inside: avoid; 
   }

   tr, img { 
      page-break-inside: avoid; 
   }

   img { 
      max-width: 100% !important; 
   }

   @page :left { 
      margin: 15mm 20mm 15mm 10mm; 
   }
     
   @page :right { 
      margin: 15mm 10mm 15mm 20mm; 
   }

   p, h2, h3 { 
      orphans: 3; widows: 3; 
   }

   h2, h3 { 
      page-break-after: avoid; 
   }
}

</style>

<!-- Styles for R syntax highlighter -->
<style type="text/css">
   pre .operator,
   pre .paren {
     color: rgb(104, 118, 135)
   }

   pre .literal {
     color: rgb(88, 72, 246)
   }

   pre .number {
     color: rgb(0, 0, 205);
   }

   pre .comment {
     color: rgb(76, 136, 107);
   }

   pre .keyword {
     color: rgb(0, 0, 255);
   }

   pre .identifier {
     color: rgb(0, 0, 0);
   }

   pre .string {
     color: rgb(3, 106, 7);
   }
</style>

<!-- R syntax highlighter -->
<script type="text/javascript">
var hljs=new function(){function m(p){return p.replace(/&/gm,"&amp;").replace(/</gm,"&lt;")}function f(r,q,p){return RegExp(q,"m"+(r.cI?"i":"")+(p?"g":""))}function b(r){for(var p=0;p<r.childNodes.length;p++){var q=r.childNodes[p];if(q.nodeName=="CODE"){return q}if(!(q.nodeType==3&&q.nodeValue.match(/\s+/))){break}}}function h(t,s){var p="";for(var r=0;r<t.childNodes.length;r++){if(t.childNodes[r].nodeType==3){var q=t.childNodes[r].nodeValue;if(s){q=q.replace(/\n/g,"")}p+=q}else{if(t.childNodes[r].nodeName=="BR"){p+="\n"}else{p+=h(t.childNodes[r])}}}if(/MSIE [678]/.test(navigator.userAgent)){p=p.replace(/\r/g,"\n")}return p}function a(s){var r=s.className.split(/\s+/);r=r.concat(s.parentNode.className.split(/\s+/));for(var q=0;q<r.length;q++){var p=r[q].replace(/^language-/,"");if(e[p]){return p}}}function c(q){var p=[];(function(s,t){for(var r=0;r<s.childNodes.length;r++){if(s.childNodes[r].nodeType==3){t+=s.childNodes[r].nodeValue.length}else{if(s.childNodes[r].nodeName=="BR"){t+=1}else{if(s.childNodes[r].nodeType==1){p.push({event:"start",offset:t,node:s.childNodes[r]});t=arguments.callee(s.childNodes[r],t);p.push({event:"stop",offset:t,node:s.childNodes[r]})}}}}return t})(q,0);return p}function k(y,w,x){var q=0;var z="";var s=[];function u(){if(y.length&&w.length){if(y[0].offset!=w[0].offset){return(y[0].offset<w[0].offset)?y:w}else{return w[0].event=="start"?y:w}}else{return y.length?y:w}}function t(D){var A="<"+D.nodeName.toLowerCase();for(var B=0;B<D.attributes.length;B++){var C=D.attributes[B];A+=" "+C.nodeName.toLowerCase();if(C.value!==undefined&&C.value!==false&&C.value!==null){A+='="'+m(C.value)+'"'}}return A+">"}while(y.length||w.length){var v=u().splice(0,1)[0];z+=m(x.substr(q,v.offset-q));q=v.offset;if(v.event=="start"){z+=t(v.node);s.push(v.node)}else{if(v.event=="stop"){var p,r=s.length;do{r--;p=s[r];z+=("</"+p.nodeName.toLowerCase()+">")}while(p!=v.node);s.splice(r,1);while(r<s.length){z+=t(s[r]);r++}}}}return z+m(x.substr(q))}function j(){function q(x,y,v){if(x.compiled){return}var u;var s=[];if(x.k){x.lR=f(y,x.l||hljs.IR,true);for(var w in x.k){if(!x.k.hasOwnProperty(w)){continue}if(x.k[w] instanceof Object){u=x.k[w]}else{u=x.k;w="keyword"}for(var r in u){if(!u.hasOwnProperty(r)){continue}x.k[r]=[w,u[r]];s.push(r)}}}if(!v){if(x.bWK){x.b="\\b("+s.join("|")+")\\s"}x.bR=f(y,x.b?x.b:"\\B|\\b");if(!x.e&&!x.eW){x.e="\\B|\\b"}if(x.e){x.eR=f(y,x.e)}}if(x.i){x.iR=f(y,x.i)}if(x.r===undefined){x.r=1}if(!x.c){x.c=[]}x.compiled=true;for(var t=0;t<x.c.length;t++){if(x.c[t]=="self"){x.c[t]=x}q(x.c[t],y,false)}if(x.starts){q(x.starts,y,false)}}for(var p in e){if(!e.hasOwnProperty(p)){continue}q(e[p].dM,e[p],true)}}function d(B,C){if(!j.called){j();j.called=true}function q(r,M){for(var L=0;L<M.c.length;L++){if((M.c[L].bR.exec(r)||[null])[0]==r){return M.c[L]}}}function v(L,r){if(D[L].e&&D[L].eR.test(r)){return 1}if(D[L].eW){var M=v(L-1,r);return M?M+1:0}return 0}function w(r,L){return L.i&&L.iR.test(r)}function K(N,O){var M=[];for(var L=0;L<N.c.length;L++){M.push(N.c[L].b)}var r=D.length-1;do{if(D[r].e){M.push(D[r].e)}r--}while(D[r+1].eW);if(N.i){M.push(N.i)}return f(O,M.join("|"),true)}function p(M,L){var N=D[D.length-1];if(!N.t){N.t=K(N,E)}N.t.lastIndex=L;var r=N.t.exec(M);return r?[M.substr(L,r.index-L),r[0],false]:[M.substr(L),"",true]}function z(N,r){var L=E.cI?r[0].toLowerCase():r[0];var M=N.k[L];if(M&&M instanceof Array){return M}return false}function F(L,P){L=m(L);if(!P.k){return L}var r="";var O=0;P.lR.lastIndex=0;var M=P.lR.exec(L);while(M){r+=L.substr(O,M.index-O);var N=z(P,M);if(N){x+=N[1];r+='<span class="'+N[0]+'">'+M[0]+"</span>"}else{r+=M[0]}O=P.lR.lastIndex;M=P.lR.exec(L)}return r+L.substr(O,L.length-O)}function J(L,M){if(M.sL&&e[M.sL]){var r=d(M.sL,L);x+=r.keyword_count;return r.value}else{return F(L,M)}}function I(M,r){var L=M.cN?'<span class="'+M.cN+'">':"";if(M.rB){y+=L;M.buffer=""}else{if(M.eB){y+=m(r)+L;M.buffer=""}else{y+=L;M.buffer=r}}D.push(M);A+=M.r}function G(N,M,Q){var R=D[D.length-1];if(Q){y+=J(R.buffer+N,R);return false}var P=q(M,R);if(P){y+=J(R.buffer+N,R);I(P,M);return P.rB}var L=v(D.length-1,M);if(L){var O=R.cN?"</span>":"";if(R.rE){y+=J(R.buffer+N,R)+O}else{if(R.eE){y+=J(R.buffer+N,R)+O+m(M)}else{y+=J(R.buffer+N+M,R)+O}}while(L>1){O=D[D.length-2].cN?"</span>":"";y+=O;L--;D.length--}var r=D[D.length-1];D.length--;D[D.length-1].buffer="";if(r.starts){I(r.starts,"")}return R.rE}if(w(M,R)){throw"Illegal"}}var E=e[B];var D=[E.dM];var A=0;var x=0;var y="";try{var s,u=0;E.dM.buffer="";do{s=p(C,u);var t=G(s[0],s[1],s[2]);u+=s[0].length;if(!t){u+=s[1].length}}while(!s[2]);if(D.length>1){throw"Illegal"}return{r:A,keyword_count:x,value:y}}catch(H){if(H=="Illegal"){return{r:0,keyword_count:0,value:m(C)}}else{throw H}}}function g(t){var p={keyword_count:0,r:0,value:m(t)};var r=p;for(var q in e){if(!e.hasOwnProperty(q)){continue}var s=d(q,t);s.language=q;if(s.keyword_count+s.r>r.keyword_count+r.r){r=s}if(s.keyword_count+s.r>p.keyword_count+p.r){r=p;p=s}}if(r.language){p.second_best=r}return p}function i(r,q,p){if(q){r=r.replace(/^((<[^>]+>|\t)+)/gm,function(t,w,v,u){return w.replace(/\t/g,q)})}if(p){r=r.replace(/\n/g,"<br>")}return r}function n(t,w,r){var x=h(t,r);var v=a(t);var y,s;if(v){y=d(v,x)}else{return}var q=c(t);if(q.length){s=document.createElement("pre");s.innerHTML=y.value;y.value=k(q,c(s),x)}y.value=i(y.value,w,r);var u=t.className;if(!u.match("(\\s|^)(language-)?"+v+"(\\s|$)")){u=u?(u+" "+v):v}if(/MSIE [678]/.test(navigator.userAgent)&&t.tagName=="CODE"&&t.parentNode.tagName=="PRE"){s=t.parentNode;var p=document.createElement("div");p.innerHTML="<pre><code>"+y.value+"</code></pre>";t=p.firstChild.firstChild;p.firstChild.cN=s.cN;s.parentNode.replaceChild(p.firstChild,s)}else{t.innerHTML=y.value}t.className=u;t.result={language:v,kw:y.keyword_count,re:y.r};if(y.second_best){t.second_best={language:y.second_best.language,kw:y.second_best.keyword_count,re:y.second_best.r}}}function o(){if(o.called){return}o.called=true;var r=document.getElementsByTagName("pre");for(var p=0;p<r.length;p++){var q=b(r[p]);if(q){n(q,hljs.tabReplace)}}}function l(){if(window.addEventListener){window.addEventListener("DOMContentLoaded",o,false);window.addEventListener("load",o,false)}else{if(window.attachEvent){window.attachEvent("onload",o)}else{window.onload=o}}}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=n;this.initHighlighting=o;this.initHighlightingOnLoad=l;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.ER="(?![\\s\\S])";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.inherit=function(r,s){var p={};for(var q in r){p[q]=r[q]}if(s){for(var q in s){p[q]=s[q]}}return p}}();hljs.LANGUAGES.cpp=function(){var a={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1,restrict:1,_Bool:1,complex:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};return{dM:{k:a,i:"</",c:[hljs.CLCM,hljs.CBLCLM,hljs.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},hljs.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:a,r:10,c:["self"]}]}}}();hljs.LANGUAGES.r={dM:{c:[hljs.HCM,{cN:"number",b:"\\b0[xX][0-9a-fA-F]+[Li]?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+(?:[eE][+\\-]?\\d*)?L\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\b\\d+\\.(?!\\d)(?:i\\b)?",e:hljs.IMMEDIATE_RE,r:1},{cN:"number",b:"\\b\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"keyword",b:"(?:tryCatch|library|setGeneric|setGroupGeneric)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\.",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\.\\.\\d+(?![\\w.])",e:hljs.IMMEDIATE_RE,r:10},{cN:"keyword",b:"\\b(?:function)",e:hljs.IMMEDIATE_RE,r:2},{cN:"keyword",b:"(?:if|in|break|next|repeat|else|for|return|switch|while|try|stop|warning|require|attach|detach|source|setMethod|setClass)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"literal",b:"(?:NA|NA_integer_|NA_real_|NA_character_|NA_complex_)\\b",e:hljs.IMMEDIATE_RE,r:10},{cN:"literal",b:"(?:NULL|TRUE|FALSE|T|F|Inf|NaN)\\b",e:hljs.IMMEDIATE_RE,r:1},{cN:"identifier",b:"[a-zA-Z.][a-zA-Z0-9._]*\\b",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"<\\-(?!\\s*\\d)",e:hljs.IMMEDIATE_RE,r:2},{cN:"operator",b:"\\->|<\\-",e:hljs.IMMEDIATE_RE,r:1},{cN:"operator",b:"%%|~",e:hljs.IMMEDIATE_RE},{cN:"operator",b:">=|<=|==|!=|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||\\$|:",e:hljs.IMMEDIATE_RE,r:0},{cN:"operator",b:"%",e:"%",i:"\\n",r:1},{cN:"identifier",b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[hljs.BE],r:0},{cN:"string",b:"'",e:"'",c:[hljs.BE],r:0},{cN:"paren",b:"[[({\\])}]",e:hljs.IMMEDIATE_RE,r:0}]}};
hljs.initHighlightingOnLoad();
</script>




</head>

<body>
<h1>chapter8: Axes</h1>

<h2>8.1.Swappinhg X- and Y-Axes</h2>

<pre><code class="r">library(ggplot2)
ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-1"/> </p>

<pre><code class="r">
ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + coord_flip()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-1"/> </p>

<pre><code class="r">

ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + coord_flip() + 
    scale_x_discrete(limits = rev(levels(PlantGrowth$group)))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-1"/> </p>

<h2>8.2.Setting the Range of a Continuous Axis</h2>

<pre><code class="r">p &lt;- ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot()
# Display the basic graph
p
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
p + ylim(0, max(PlantGrowth$weight))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
ylim(0, 10)
</code></pre>

<pre><code>## continuous_scale(aesthetics = c(&quot;y&quot;, &quot;ymin&quot;, &quot;ymax&quot;, &quot;yend&quot;, 
##     &quot;yintercept&quot;, &quot;ymin_final&quot;, &quot;ymax_final&quot;), scale_name = &quot;position_c&quot;, 
##     palette = identity, limits = ..1, expand = expand, trans = ..2, 
##     guide = &quot;none&quot;)
</code></pre>

<pre><code class="r">scale_y_continuous(limits = c(0, 10))
</code></pre>

<pre><code>## continuous_scale(aesthetics = c(&quot;y&quot;, &quot;ymin&quot;, &quot;ymax&quot;, &quot;yend&quot;, 
##     &quot;yintercept&quot;, &quot;ymin_final&quot;, &quot;ymax_final&quot;), scale_name = &quot;position_c&quot;, 
##     palette = identity, limits = ..1, expand = expand, guide = &quot;none&quot;)
</code></pre>

<pre><code class="r">

p + ylim(0, 10) + scale_y_continuous(breaks = NULL)
</code></pre>

<pre><code>## Scale for &#39;y&#39; is already present. Adding another scale for &#39;y&#39;, which will replace the existing scale.
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
p + scale_y_continuous(breaks = NULL) + ylim(0, 10)
</code></pre>

<pre><code>## Scale for &#39;y&#39; is already present. Adding another scale for &#39;y&#39;, which will replace the existing scale.
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
p + scale_y_continuous(limits = c(0, 10), breaks = NULL)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
p + scale_y_continuous(limits = c(5, 6.5))  # Same as using ylim()
</code></pre>

<pre><code>## Warning: Removed 13 rows containing non-finite values (stat_boxplot).
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
p + coord_cartesian(ylim = c(5, 6.5))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<pre><code class="r">
p + expand_limits(y = 0)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-2"/> </p>

<h2>8.3.Reversing a Continuous Axis</h2>

<pre><code class="r">ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + scale_y_reverse()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-3"/> </p>

<pre><code class="r">
# Similar effect by specifying limits in reversed order
ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + ylim(6.5, 
    3.5)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-3"/> </p>

<pre><code class="r">
ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + scale_y_reverse(limits = c(8, 
    0))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-3"/> </p>

<h2>8.4.Changing the Order of Items on a Categorical Axis</h2>

<pre><code class="r">p &lt;- ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot()

p + scale_x_discrete(limits = c(&quot;trt1&quot;, &quot;ctrl&quot;, &quot;trt2&quot;))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-4"/> </p>

<pre><code class="r">
p + scale_x_discrete(limits = c(&quot;ctrl&quot;, &quot;trt1&quot;))
</code></pre>

<pre><code>## Warning: Removed 2 rows containing missing values (geom_segment).
## Warning: Removed 1 rows containing missing values (geom_segment).
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-4"/> </p>

<pre><code class="r">
p + scale_x_discrete(limits = rev(levels(PlantGrowth$group)))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-4"/> </p>

<h2>8.5.Setting the Scaling Ratio of the X- and Y-Axes</h2>

<pre><code class="r">library(gcookbook)  # For the data set

sp &lt;- ggplot(marathon, aes(x = Half, y = Full)) + geom_point()

sp + coord_fixed()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-5"/> </p>

<pre><code class="r">
sp + coord_fixed() + scale_y_continuous(breaks = seq(0, 420, 30)) + scale_x_continuous(breaks = seq(0, 
    420, 30))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-5"/> </p>

<pre><code class="r">
sp + coord_fixed(ratio = 1/2) + scale_y_continuous(breaks = seq(0, 420, 30)) + 
    scale_x_continuous(breaks = seq(0, 420, 15))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-5"/> </p>

<h2>8.6.Setting the Positions of Tick Marks</h2>

<pre><code class="r">ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-6"/> </p>

<pre><code class="r">
ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + scale_y_continuous(breaks = c(4, 
    4.25, 4.5, 5, 6, 8))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-6"/> </p>

<pre><code class="r">
seq(4, 7, by = 0.5)
</code></pre>

<pre><code>## [1] 4.0 4.5 5.0 5.5 6.0 6.5 7.0
</code></pre>

<pre><code class="r">
5:10
</code></pre>

<pre><code>## [1]  5  6  7  8  9 10
</code></pre>

<pre><code class="r">
# Set both breaks and labels for a discrete axis
ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + scale_x_discrete(limits = c(&quot;trt2&quot;, 
    &quot;ctrl&quot;), breaks = &quot;ctrl&quot;)
</code></pre>

<pre><code>## Warning: Removed 2 rows containing missing values (geom_point).
## Warning: Removed 2 rows containing missing values (geom_segment).
## Warning: Removed 1 rows containing missing values (geom_segment).
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-6"/> </p>

<h2>8.7.Removing Tick Marks and Labels</h2>

<pre><code class="r">p &lt;- ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot()

p + theme(axis.text.y = element_blank())
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-7"/> </p>

<pre><code class="r">
p + theme(axis.ticks = element_blank(), axis.text.y = element_blank())
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-7"/> </p>

<pre><code class="r">
p + scale_y_continuous(breaks = NULL)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-7"/> </p>

<h2>8.8.Changing the Text of Tick Labels</h2>

<pre><code class="r">library(gcookbook)  # For the data set

hwp &lt;- ggplot(heightweight, aes(x = ageYear, y = heightIn)) + geom_point()
hwp
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-8"/> </p>

<pre><code class="r">
hwp + scale_y_continuous(breaks = c(50, 56, 60, 66, 72), labels = c(&quot;Tiny&quot;, 
    &quot;Really\nshort&quot;, &quot;Short&quot;, &quot;Medium&quot;, &quot;Tallish&quot;))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-8"/> </p>

<pre><code class="r">
footinch_formatter &lt;- function(x) {
    foot &lt;- floor(x/12)
    inch &lt;- x%%12
    return(paste(foot, &quot;&#39;&quot;, inch, &quot;\&quot;&quot;, sep = &quot;&quot;))
}

footinch_formatter(56:64)
</code></pre>

<pre><code>## [1] &quot;4&#39;8\&quot;&quot;  &quot;4&#39;9\&quot;&quot;  &quot;4&#39;10\&quot;&quot; &quot;4&#39;11\&quot;&quot; &quot;5&#39;0\&quot;&quot;  &quot;5&#39;1\&quot;&quot;  &quot;5&#39;2\&quot;&quot;  &quot;5&#39;3\&quot;&quot; 
## [9] &quot;5&#39;4\&quot;&quot;
</code></pre>

<pre><code class="r">
# &#39;4&#39;8\&#39;&#39; &#39;4&#39;9\&#39;&#39; &#39;4&#39;10\&#39;&#39; &#39;4&#39;11\&#39;&#39; &#39;5&#39;0\&#39;&#39; &#39;5&#39;1\&#39;&#39; &#39;5&#39;2\&#39;&#39; &#39;5&#39;3\&#39;&#39;
# &#39;5&#39;4\&#39;&#39;

hwp + scale_y_continuous(labels = footinch_formatter)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-8"/> </p>

<pre><code class="r">
hwp + scale_y_continuous(breaks = seq(48, 72, 4), labels = footinch_formatter)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-8"/> </p>

<pre><code class="r">
timeHMS_formatter &lt;- function(x) {
    h &lt;- floor(x/60)
    m &lt;- floor(x%%60)
    s &lt;- round(60 * (x%%1))  # Round to nearest second
    lab &lt;- sprintf(&quot;%02d:%02d:%02d&quot;, h, m, s)  # Format the strings as HH:MM:SS
    lab &lt;- gsub(&quot;^00:&quot;, &quot;&quot;, lab)  # Remove leading 00: if present
    lab &lt;- gsub(&quot;^0&quot;, &quot;&quot;, lab)  # Remove leading 0 if present
    return(lab)
}

timeHMS_formatter(c(0.33, 50, 51.25, 59.32, 60, 60.1, 130.23))
</code></pre>

<pre><code>## [1] &quot;0:20&quot;    &quot;50:00&quot;   &quot;51:15&quot;   &quot;59:19&quot;   &quot;1:00:00&quot; &quot;1:00:06&quot; &quot;2:10:14&quot;
</code></pre>

<h2>8.9.Changing the Appearance of Tick Labels</h2>

<pre><code class="r">bp &lt;- ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot() + scale_x_discrete(breaks = c(&quot;ctrl&quot;, 
    &quot;trt1&quot;, &quot;trt2&quot;), labels = c(&quot;Control&quot;, &quot;Treatment 1&quot;, &quot;Treatment 2&quot;))
bp
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-9"/> </p>

<pre><code class="r">
bp + theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-9"/> </p>

<pre><code class="r">
bp + theme(axis.text.x = element_text(angle = 30, hjust = 1, vjust = 1))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-9"/> </p>

<pre><code class="r">
bp + theme(axis.text.x = element_text(family = &quot;Times&quot;, face = &quot;italic&quot;, colour = &quot;darkred&quot;, 
    size = rel(0.9)))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-9"/> </p>

<h2>8.10.Changing the Text of Axis Labels</h2>

<pre><code class="r">library(gcookbook)  # For the data set

hwp &lt;- ggplot(heightweight, aes(x = ageYear, y = heightIn, colour = sex)) + 
    geom_point()
# With default axis labels
hwp
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-10"/> </p>

<pre><code class="r">
# Set the axis labels
hwp + xlab(&quot;Age in years&quot;) + ylab(&quot;Height in inches&quot;)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-10"/> </p>

<pre><code class="r">
hwp + labs(x = &quot;Age in years&quot;, y = &quot;Height in inches&quot;)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-10"/> </p>

<pre><code class="r">
hwp + scale_x_continuous(name = &quot;Age in years&quot;)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-10"/> </p>

<pre><code class="r">
hwp + scale_x_continuous(name = &quot;Age\n(years)&quot;)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-10"/> </p>

<h2>8.11.Removing Axis Labels</h2>

<pre><code class="r">p &lt;- ggplot(PlantGrowth, aes(x = group, y = weight)) + geom_boxplot()

p + theme(axis.title.x = element_blank())
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-11"/> </p>

<pre><code class="r">
p + xlab(&quot;&quot;)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-11"/> </p>

<h2>8.12.Changing the Appearance of Axis Labels</h2>

<h2>8.13.Showing Lines Along the Axes</h2>

<pre><code class="r">library(gcookbook)  # For the data set

p &lt;- ggplot(heightweight, aes(x = ageYear, y = heightIn)) + geom_point()

p + theme(axis.line = element_line(colour = &quot;black&quot;))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-12"/> </p>

<pre><code class="r">
p + theme_bw() + theme(panel.border = element_blank(), axis.line = element_line(colour = &quot;black&quot;))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-12"/> </p>

<pre><code class="r">
# With thick lines, only half overlaps
p + theme_bw() + theme(panel.border = element_blank(), axis.line = element_line(colour = &quot;black&quot;, 
    size = 4))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-12"/> </p>

<pre><code class="r">
# Full overlap
p + theme_bw() + theme(panel.border = element_blank(), axis.line = element_line(colour = &quot;black&quot;, 
    size = 4, lineend = &quot;square&quot;))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-12"/> </p>

<h2>8.14.Using a Logarithmic Axis</h2>

<pre><code class="r">library(MASS)  # For the data set

# The base plot
p &lt;- ggplot(Animals, aes(x = body, y = brain, label = rownames(Animals))) + 
    geom_text(size = 3)
p
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">
# With logarithmic x and y scales
p + scale_x_log10() + scale_y_log10()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">
Animals
</code></pre>

<pre><code>##                       body  brain
## Mountain beaver      1.350    8.1
## Cow                465.000  423.0
## Grey wolf           36.330  119.5
## Goat                27.660  115.0
## Guinea pig           1.040    5.5
## Dipliodocus      11700.000   50.0
## Asian elephant    2547.000 4603.0
## Donkey             187.100  419.0
## Horse              521.000  655.0
## Potar monkey        10.000  115.0
## Cat                  3.300   25.6
## Giraffe            529.000  680.0
## Gorilla            207.000  406.0
## Human               62.000 1320.0
## African elephant  6654.000 5712.0
## Triceratops       9400.000   70.0
## Rhesus monkey        6.800  179.0
## Kangaroo            35.000   56.0
## Golden hamster       0.120    1.0
## Mouse                0.023    0.4
## Rabbit               2.500   12.1
## Sheep               55.500  175.0
## Jaguar             100.000  157.0
## Chimpanzee          52.160  440.0
## Rat                  0.280    1.9
## Brachiosaurus    87000.000  154.5
## Mole                 0.122    3.0
## Pig                192.000  180.0
</code></pre>

<pre><code class="r">
10^(0:3)
</code></pre>

<pre><code>## [1]    1   10  100 1000
</code></pre>

<pre><code class="r">
10^(-1:5)
</code></pre>

<pre><code>## [1] 1e-01 1e+00 1e+01 1e+02 1e+03 1e+04 1e+05
</code></pre>

<pre><code class="r">

p + scale_x_log10(breaks = 10^(-1:5)) + scale_y_log10(breaks = 10^(0:3))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">
library(scales)
p + scale_x_log10(breaks = 10^(-1:5), labels = trans_format(&quot;log10&quot;, math_format(10^.x))) + 
    scale_y_log10(breaks = 10^(0:3), labels = trans_format(&quot;log10&quot;, math_format(10^.x)))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">
ggplot(Animals, aes(x = log10(body), y = log10(brain), label = rownames(Animals))) + 
    geom_text(size = 3)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">
library(scales)

# Use natural log on x, and log2 on y
p + scale_x_continuous(trans = log_trans(), breaks = trans_breaks(&quot;log&quot;, function(x) exp(x)), 
    labels = trans_format(&quot;log&quot;, math_format(e^.x))) + scale_y_continuous(trans = log2_trans(), 
    breaks = trans_breaks(&quot;log2&quot;, function(x) 2^x), labels = trans_format(&quot;log2&quot;, 
        math_format(2^.x)))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">

library(gcookbook)  # For the data set

ggplot(aapl, aes(x = date, y = adj_price)) + geom_line()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<pre><code class="r">
ggplot(aapl, aes(x = date, y = adj_price)) + geom_line() + scale_y_log10(breaks = c(2, 
    10, 50, 250))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-13"/> </p>

<h2>8.15.Adding Ticks for a Logarithmic Axis</h2>

<pre><code class="r">library(MASS)  # For the data set
library(scales)  # For the trans and format functions
ggplot(Animals, aes(x = body, y = brain, label = rownames(Animals))) + geom_text(size = 3) + 
    annotation_logticks() + scale_x_log10(breaks = trans_breaks(&quot;log10&quot;, function(x) 10^x), 
    labels = trans_format(&quot;log10&quot;, math_format(10^.x))) + scale_y_log10(breaks = trans_breaks(&quot;log10&quot;, 
    function(x) 10^x), labels = trans_format(&quot;log10&quot;, math_format(10^.x)))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-14"/> </p>

<pre><code class="r">

ggplot(Animals, aes(x = body, y = brain, label = rownames(Animals))) + geom_text(size = 3) + 
    annotation_logticks() + scale_x_log10(breaks = trans_breaks(&quot;log10&quot;, function(x) 10^x), 
    labels = trans_format(&quot;log10&quot;, math_format(10^.x)), minor_breaks = log10(5) + 
        -2:5) + scale_y_log10(breaks = trans_breaks(&quot;log10&quot;, function(x) 10^x), 
    labels = trans_format(&quot;log10&quot;, math_format(10^.x)), minor_breaks = log10(5) + 
        -1:3) + coord_fixed() + theme_bw()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-14"/> </p>

<h2>8.16.Making a Circular Graph</h2>

<pre><code class="r">library(gcookbook)  # For the data set
head(wind)
</code></pre>

<pre><code>##   TimeUTC Temp WindAvg WindMax WindDir SpeedCat DirCat
## 3       0 3.54    9.52   10.39      89    10-15     90
## 4       5 3.52    9.10    9.90      92     5-10     90
## 5      10 3.53    8.73    9.51      92     5-10     90
## 6      15 3.63    8.97    9.90      94     5-10     90
## 7      20 3.71    8.51    9.41      97     5-10     90
## 8      25 3.73    8.43    9.02      95     5-10     90
</code></pre>

<pre><code class="r">
ggplot(wind, aes(x = DirCat, fill = SpeedCat)) + geom_histogram(binwidth = 15, 
    origin = -7.5) + coord_polar() + scale_x_continuous(limits = c(0, 360))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-15"/> </p>

<pre><code class="r">
ggplot(wind, aes(x = DirCat, fill = SpeedCat)) + geom_histogram(binwidth = 15, 
    origin = -7.5, colour = &quot;black&quot;, size = 0.25) + guides(fill = guide_legend(reverse = TRUE)) + 
    coord_polar() + scale_x_continuous(limits = c(0, 360), breaks = seq(0, 360, 
    by = 45), minor_breaks = seq(0, 360, by = 15)) + scale_fill_brewer()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-15"/> </p>

<pre><code class="r">
coord_polar(start = -45 * pi/180)
</code></pre>

<pre><code>## $theta
## [1] &quot;x&quot;
## 
## $r
## [1] &quot;y&quot;
## 
## $start
## [1] -0.7854
## 
## $direction
## [1] 1
## 
## attr(,&quot;class&quot;)
## [1] &quot;polar&quot; &quot;coord&quot;
</code></pre>

<pre><code class="r">
# Put mdeaths time series data into a data frame
md &lt;- data.frame(deaths = as.numeric(mdeaths), month = as.numeric(cycle(mdeaths)))

# Calculate average number of deaths in each month
library(plyr)  # For the ddply() function
md &lt;- ddply(md, &quot;month&quot;, summarise, deaths = mean(deaths))
md
</code></pre>

<pre><code>##    month deaths
## 1      1   2130
## 2      2   2081
## 3      3   1970
## 4      4   1657
## 5      5   1314
## 6      6   1187
## 7      7   1137
## 8      8   1038
## 9      9   1022
## 10    10   1241
## 11    11   1378
## 12    12   1796
</code></pre>

<pre><code class="r">
# Make the base plot
p &lt;- ggplot(md, aes(x = month, y = deaths)) + geom_line() + scale_x_continuous(breaks = 1:12)

# With coord_polar
p + coord_polar()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-15"/> </p>

<pre><code class="r">
# With coord_polar and y (r) limits going to zero
p + coord_polar() + ylim(0, max(md$deaths))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-15"/> </p>

<pre><code class="r">
p + coord_polar() + ylim(0, max(md$deaths)) + xlim(0, 12)
</code></pre>

<pre><code>## Scale for &#39;x&#39; is already present. Adding another scale for &#39;x&#39;, which will replace the existing scale.
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-15"/> </p>

<pre><code class="r">
# Connect the lines by adding a value for 0 that is the same as 12
mdx &lt;- md[md$month == 12, ]
mdx$month &lt;- 0
mdnew &lt;- rbind(mdx, md)

# Make the same plot as before, but with the new data, by using %+%
p %+% mdnew + coord_polar() + ylim(0, max(md$deaths))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-15"/> </p>

<h2>8.17.Using Dates on an Axis</h2>

<pre><code class="r"># Look at the structure
str(economics)
</code></pre>

<pre><code>## &#39;data.frame&#39;:    478 obs. of  6 variables:
##  $ date    : Date, format: &quot;1967-06-30&quot; &quot;1967-07-31&quot; ...
##  $ pce     : num  508 511 517 513 518 ...
##  $ pop     : int  198712 198911 199113 199311 199498 199657 199808 199920 200056 200208 ...
##  $ psavert : num  9.8 9.8 9 9.8 9.7 9.4 9 9.5 8.9 9.6 ...
##  $ uempmed : num  4.5 4.7 4.6 4.9 4.7 4.8 5.1 4.5 4.1 4.6 ...
##  $ unemploy: int  2944 2945 2958 3143 3066 3018 2878 3001 2877 2709 ...
</code></pre>

<pre><code class="r">
ggplot(economics, aes(x = date, y = psavert)) + geom_line()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-16"/> </p>

<pre><code class="r">
# Take a subset of economics
econ &lt;- subset(economics, date &gt;= as.Date(&quot;1992-05-01&quot;) &amp; date &lt; as.Date(&quot;1993-06-01&quot;))

# Base plot - without specifying breaks
p &lt;- ggplot(econ, aes(x = date, y = psavert)) + geom_line()
p
</code></pre>

<pre><code>## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;83&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;80&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;83&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;80&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;83&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;80&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;83&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;80&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;83&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓冩湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍗佹湀 1992&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;b8&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;80&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;涓€鏈&lt;U+383C&gt;&lt;U+3E38&gt; 1993&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;鍥涙湀 1993&#39;出错：&lt;88&gt;代替了dot
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-16"/> </p>

<pre><code class="r">
# Specify breaks as a Date vector
datebreaks &lt;- seq(as.Date(&quot;1992-06-01&quot;), as.Date(&quot;1993-06-01&quot;), by = &quot;2 month&quot;)

# Use breaks, and rotate text labels
p + scale_x_date(breaks = datebreaks) + theme(axis.text.x = element_text(angle = 30, 
    hjust = 1))
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-16"/> </p>

<pre><code class="r">
library(scales)
p + scale_x_date(breaks = datebreaks, labels = date_format(&quot;%Y %b&quot;)) + theme(axis.text.x = element_text(angle = 30, 
    hjust = 1))
</code></pre>

<pre><code>## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ab&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ab&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ab&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ab&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;ab&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍏湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佹湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8d&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;81&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1992 鍗佷簩鏈&lt;U+383C&gt;&lt;U+3E38&gt;&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e4&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;ba&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;8c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 浜屾湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9b&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍥涙湀&#39;出错：&lt;88&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e5&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;85&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;ad&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;e6&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;9c&gt;代替了dot
## Warning: &#39;mbcsToSbcs&#39;里转换&#39;1993 鍏湀&#39;出错：&lt;88&gt;代替了dot
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-16"/> </p>

<pre><code class="r">
# Mac and Linux
Sys.setlocale(&quot;LC_TIME&quot;, &quot;it_IT.UTF-8&quot;)
</code></pre>

<pre><code>## Warning: 操作系统报告说无法执行将本地化设成&quot;it_IT.UTF-8&quot;的请求
</code></pre>

<pre><code>## [1] &quot;&quot;
</code></pre>

<pre><code class="r">
# Windows
Sys.setlocale(&quot;LC_TIME&quot;, &quot;italian&quot;)
</code></pre>

<pre><code>## [1] &quot;Italian_Italy.1252&quot;
</code></pre>

<pre><code class="r">
# Convert WWWusage time-series object to data frame
www &lt;- data.frame(minute = as.numeric(time(WWWusage)), users = as.numeric(WWWusage))

# Define a formatter function - converts time in minutes to a string
timeHM_formatter &lt;- function(x) {
    h &lt;- floor(x/60)
    m &lt;- floor(x%%60)
    lab &lt;- sprintf(&quot;%d:%02d&quot;, h, m)  # Format the strings as HH:MM
    return(lab)
}

# Default x axis
ggplot(www, aes(x = minute, y = users)) + geom_line()
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-16"/> </p>

<pre><code class="r">
# With formatted times
ggplot(www, aes(x = minute, y = users)) + geom_line() + scale_x_continuous(name = &quot;time&quot;, 
    breaks = seq(0, 100, by = 10), labels = timeHM_formatter)
</code></pre>

<p><img src="" alt="plot of chunk unnamed-chunk-16"/> </p>

<pre><code class="r">
scale_x_continuous(breaks = c(0, 20, 40, 60, 80, 100), labels = c(&quot;0:00&quot;, &quot;0:20&quot;, 
    &quot;0:40&quot;, &quot;1:00&quot;, &quot;1:20&quot;, &quot;1:40&quot;))
</code></pre>

<pre><code>## continuous_scale(aesthetics = c(&quot;x&quot;, &quot;xmin&quot;, &quot;xmax&quot;, &quot;xend&quot;, 
##     &quot;xintercept&quot;), scale_name = &quot;position_c&quot;, palette = identity, 
##     breaks = ..1, labels = ..2, expand = expand, guide = &quot;none&quot;)
</code></pre>

<pre><code class="r">
timeHM_formatter(c(0, 50, 51, 59, 60, 130, 604))
</code></pre>

<pre><code>## [1] &quot;0:00&quot;  &quot;0:50&quot;  &quot;0:51&quot;  &quot;0:59&quot;  &quot;1:00&quot;  &quot;2:10&quot;  &quot;10:04&quot;
</code></pre>

<pre><code class="r">
timeHMS_formatter &lt;- function(x) {
    h &lt;- floor(x/3600)
    m &lt;- floor((x/60)%%60)
    s &lt;- round(x%%60)  # Round to nearest second
    lab &lt;- sprintf(&quot;%02d:%02d:%02d&quot;, h, m, s)  # Format the strings as HH:MM:SS
    lab &lt;- sub(&quot;^00:&quot;, &quot;&quot;, lab)  # Remove leading 00: if present
    lab &lt;- sub(&quot;^0&quot;, &quot;&quot;, lab)  # Remove leading 0 if present
    return(lab)
}

timeHMS_formatter(c(20, 3000, 3075, 3559.2, 3600, 3606, 7813.8))
</code></pre>

<pre><code>## [1] &quot;0:20&quot;    &quot;50:00&quot;   &quot;51:15&quot;   &quot;59:19&quot;   &quot;1:00:00&quot; &quot;1:00:06&quot; &quot;2:10:14&quot;
</code></pre>

</body>

</html>

